package cn.iocoder.yudao.module.call.service.aiqualitytesting;

import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.call.controller.admin.aiqualitytesting.vo.*;
import cn.iocoder.yudao.module.call.dal.dataobject.aiqualitytesting.AiQualityTestingDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.module.call.dal.dataobject.record.CallRecordDO;
import cn.iocoder.yudao.module.call.dal.dataobject.task.CallTaskDO;

/**
 * 大模型质检 Service 接口
 *
 * @author 数创万维
 */
public interface AiQualityTestingService {

    void startAiQualityTesting(Long ownerUserId,Long tenantId,  CallRecordDO callRecordDO, AiQualityTestingDO aiQualityTestingDO);

    /**
     * 创建大模型质检
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createAiQualityTesting(@Valid AiQualityTestingSaveReqVO createReqVO);

    /**
     * 更新大模型质检
     *
     * @param updateReqVO 更新信息
     */
    void updateAiQualityTesting(@Valid AiQualityTestingSaveReqVO updateReqVO);

    /**
     * 删除大模型质检
     *
     * @param id 编号
     */
    void deleteAiQualityTesting(Long id);

    /**
     * 获得大模型质检
     *
     * @param id 编号
     * @return 大模型质检
     */
    AiQualityTestingDO getAiQualityTesting(Long id);

    /**
     * 获得大模型质检分页
     *
     * @param pageReqVO 分页查询
     * @return 大模型质检分页
     */
    PageResult<AiQualityTestingDO> getAiQualityTestingPage(AiQualityTestingPageReqVO pageReqVO);

    List<AiQualityTestingDO> simpleList();
}